table of contents
COMPLEX(7) | Руководство программиста Linux | COMPLEX(7) |
ИМЯ¶
complex - основы комплексной математики
ОБЗОР¶
#include <complex.h>
ОПИСАНИЕ¶
Комплексные
числа — это
числа вида z
= a+b*i, где a и b
являются
вещественными
числами, и i =
sqrt(-1), где i*i = -1.
Существуют
и другие
способы
представления
комплексных
чисел. Пара
вещественных
чисел (a,b)
может быть
представлена
как точка
на
плоскости,
которая
задаётся
координатными
осями X и Y.
Эта же
самая
точка
может быть
также
описана
парой
вещественных
чисел (r,phi), где r
— это
расстояние
от нулевой
точки
отсчёта 0, а phi
— угол
между осью X
и прямой 0z.
Итак, z = r*exp(i*phi) =
r*(cos(phi)+i*sin(phi)).
Основные операции с комплексными числами, заданными в виде z = a+b*i и w = c+d*i, следующие:
- сложение: z+w = (a+c) + (b+d)*i
- умножение: z*w = (a*c - b*d) + (a*d + b*c)*i
- деление: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c - a*d)/(c*c + d*d))*i
Почти все математические функции имеют своих комплексных собратьев, но есть и только комплексные функции.
ПРИМЕР¶
Ваш C-компилятор может работать с комплексными числами, если он поддерживает стандарт C99. Компоновку программы нужно производить с параметром -lm. Здесь мнимая единица представлена как I.
/* проверка что exp(i * pi) == -1 */ #include <math.h> /* для atan */ #include <stdio.h> #include <complex.h> int main(void) {
double pi = 4 * atan(1.0);
double complex z = cexp(I * pi);
printf("%f + %f * i\n", creal(z), cimag(z)); }
СМОТРИТЕ ТАКЖЕ¶
cabs(3), cacos(3), cacosh(3), carg(3), casin(3), casinh(3), catan(3), catanh(3), ccos(3), ccosh(3), cerf(3), cexp(3), cexp2(3), cimag(3), clog(3), clog10(3), clog2(3), conj(3), cpow(3), cproj(3), creal(3), csin(3), csinh(3), csqrt(3), ctan(3), ctanh(3)
2011-09-16 |